home *** CD-ROM | disk | FTP | other *** search
- class CPieceShuffler
- {
- function CPieceShuffler()
- {
- }
- function Shuffle(extentX, trayExtentY, tableauExtentY, pieceHost, nPieces, maxStep, maxIterations, upBias)
- {
- var _loc2_ = 0;
- while(_loc2_ < maxIterations)
- {
- this.ShuffleSingleIteration(extentX,trayExtentY,tableauExtentY,pieceHost,nPieces,maxStep,upBias);
- _loc2_ = _loc2_ + 1;
- }
- }
- function ComparePiecesRandomly(a, b)
- {
- return !_root.random.GetBoolean() ? 1 : -1;
- }
- function ShuffleSingleIteration(extentX, trayExtentY, tableauExtentY, pieceHost, nPieces, maxStep, upBias)
- {
- var _loc3_ = new Array();
- var _loc2_ = 0;
- while(_loc2_ < nPieces)
- {
- _loc3_[_loc2_] = pieceHost["piece" + _loc2_];
- _loc2_ = _loc2_ + 1;
- }
- _loc3_.sort(this.ComparePiecesRandomly);
- _loc2_ = 0;
- while(_loc2_ < nPieces)
- {
- _loc3_[_loc2_].SlideRandomly(1,maxStep,upBias);
- _loc2_ = _loc2_ + 1;
- }
- }
- }
-